1
การเปลี่ยนผ่านสู่พีชคณิตเชิงเส้นเชิงตัวเลข
MATH004Lesson 9
00:00
พีชคณิตเชิงเส้นเชิงตัวเลขเป็นหัวใจหลักของระบบคอมพิวเตอร์สมัยใหม่ ซึ่งเชื่อมโยงช่องว่างระหว่างความงามทางคณิตศาสตร์เชิงสัญลักษณ์กับประสิทธิภาพของฮาร์ดแวร์ที่แท้จริง ในขณะที่พีชคณิตทฤษฎีมองการแปลงตำแหน่ง $T(v) = v + v_0$ ว่าเป็นการบวกอย่างง่าย แต่คอมพิวเตอร์กลับมองว่ามันเป็นการรบกวนในสายการประมวลผลการคูณเมทริกซ์ที่ได้รับการปรับให้เหมาะสม ด้วยเหตุนี้ เพื่อให้ได้ความเร็วสูงสุด เราจึงเปลี่ยนทัศนคติของเรา: ขยายมิติของพื้นที่เพื่อเปลี่ยน "การเลื่อน" ให้กลายเป็น "การคูณแบบโครงสร้าง"

1. จากการบวกไปสู่การคูณ

ในกรอบทฤษฎี ฟังก์ชันเชิงเส้นและการแปลงตำแหน่ง (แผนที่แบบแอฟฟิน) มักจะถูกจัดการแยกจากกัน อย่างไรก็ตาม ไลบรารีประสิทธิภาพสูงอย่าง BLAS (โปรแกรมคำนวณพีชคณิตเชิงเส้นพื้นฐาน) ได้รับการปรับให้เหมาะสมโดยเฉพาะสำหรับผลคูณของเมทริกซ์-เวกเตอร์และเมทริกซ์-เมทริกซ์ เพื่อใช้ประโยชน์จากเคอร์เนลเหล่านี้ เราแสดงทุกการดำเนินการในรูปแบบ:

$$T(v) = Av$$

2. พิกัดโฮโมเจนีอัส

เพื่อใช้เมทริกซ์ในการดำเนินการเลื่อนใน $\mathbf{R}^n$ เราต้องขยายไปยัง $\mathbf{R}^{n+1}$ เวกเตอร์ $[x, y, z]^T$ จะกลายเป็น $[x, y, z, 1]^T$ สิ่งนี้ "1 ที่เพิ่มเติม" ทำให้สามารถเข้ารหัสการแปลงตำแหน่งไว้ในคอลัมน์สุดท้ายของเมทริกซ์ขนาด $(n+1) \times (n+1)$ ได้

โครงสร้างที่ขยายแล้ว

การเลื่อนด้วย $v_0 = [t_x, t_y, t_z]^T$ ถูกแทนด้วย:

$$A = \begin{bmatrix} 1 & 0 & 0 & t_x \\ 0 & 1 & 0 & t_y \\ 0 & 0 & 1 & t_z \\ 0 & 0 & 0 & 1 \end{bmatrix}$$

การคงสภาพการคำนวณ

จำนวน $0, 0, 0, 1$ ในแถวสุดท้ายมีบทบาทสำคัญ เมื่อ $A$ คูณเวกเตอร์ที่มีองค์ประกอบสุดท้ายเป็น $1$ องค์ประกอบสุดท้ายที่ได้คือ:

$(0 \cdot x) + (0 \cdot y) + (0 \cdot z) + (1 \cdot 1) = 1$

สิ่งนี้ทำให้มั่นใจว่าลักษณะ "แอฟฟิน" ของข้อมูลยังคงถูกเก็บรักษาไว้ ทำให้สามารถดำเนินการต่อเนื่องได้โดยไม่สูญเสียความสมบูรณ์ของระบบพิกัด

3. มาตรฐานการนำไปใช้งาน: BLAS

ประสิทธิภาพเชิงตัวเลขขึ้นอยู่กับฟังก์ชันย่อยที่มาตรฐาน BLAS เสนอระดับการทำงานสามระดับ:

  • ระดับ 1: การดำเนินการเวกเตอร์-เวกเตอร์ (เช่น การคูณจุด)
  • ระดับ 2: การดำเนินการเมทริกซ์-เวกเตอร์ ($Ax+b$)
  • ระดับ 3: การดำเนินการเมทริกซ์-เมทริกซ์ ($AB+C$) ซึ่งเป็นการคำนวณหนาแน่นที่สุดและมีประสิทธิภาพสูงสุดในด้านฮาร์ดแวร์
🎯 หลักการสำคัญ
พีชคณิตเชิงเส้นเชิงตัวเลขรวมการดำเนินการทางเรขาคณิตหลากหลายเข้าไว้ในรูปการคูณเมทริกซ์-เวกเตอร์ ($T(v) = Av$) โดยใช้พิกัดโฮโมเจนีอัส สิ่งนี้ทำให้ฮาร์ดแวร์สามารถใช้ฟังก์ชันย่อยที่ได้รับการปรับให้เหมาะสมจาก BLAS ประมวลผลการดำเนินการหลายล้านครั้งต่อวินาที โดยยังคงรักษาความสมบูรณ์ของโครงสร้าง